1. Field of the Invention
The present invention relates to a technique for causing a plurality of computers to conduct cooperative operation.
2. Related Art
In recent years, remote control has been made possible. In the remote control, screen information supplied from a remote computer is displayed on a terminal at hand, and the remote computer is controlled using a mouse or a keyboard connected to the terminal at hand. As examples thereof, “X window system” developed by X.org Foundation, a function in Microsoft Corporation called “Remote Desktop,” and VNC (Virtual Network Computing) software can be mentioned. In the X window system, a view on the remote computer is drawn on the terminal at hand by transmitting and receiving drawing commands. However, it is also possible to construct a similar system by encoding the screen on the remote computer by using MPEG2-TS and decoding and displaying a result obtained by the encoding, on the terminal at hand.
Even if the distance between two points is long, fast communication has been made possible by advancement of the Internet.
In general, a computer including a fast CPU and a large capacity hard disk is heavy and it is not handy to carry. On the other hand, a lightweight computer suitable for carrying is relatively slow in CPU capability and small in capacity of the hard disk.
Using the remote control scheme on the Internet, however, it is possible to control the remote computer as if it is at hand. While the lightweight terminal at hand is carried, it is possible to access data stored in the large capacity hard disk and conduct processing using the fast CPU.
According to a method described in Japanese Patent Application Laid-Open Publication No. 2003-288536, map data is transferred from a remote map data server to a car navigation terminal device at hand and displayed on the car navigation terminal device. A destination place is input to the car navigation terminal at hand, and this information is sent to the map data server. Map data of the desired place is received by the car navigation terminal. As a result, a map of the desired place can be displayed on the car navigation terminal at hand. It is possible to get along without equipping the car navigation terminal with a large capacity storage device.
In this way, almost all of computer processing and data storage is entrusted to the remote computer, and the terminal at hand of the user conducts only light processing as an IO device which presents a result of processing sent from the remote computer, to the user, or accepts a keyboard or mouse input given by the user. The application area of such architecture is spreading as the network speed becomes faster in recent years. In this architecture, most processing is conducted by the remote computer. This results in an advantage that the terminal at hand can be constructed using hardware having a low processing capability. In an example of this architecture, a system department of an enterprise manages the remote computer and members are treated as users to construct a computer system. In another example of the architecture, an ASP (application service provider) manages the remote computer and provides service of lending computer resources to users. Even if application is sophisticated and a higher calculation processing capability is needed in such a case, it suffices to increase only the processing capability of the remote computer and it is unnecessary to increase the processing capability of the terminal at hand of the user. This results in an advantage that the user can be saved the labor of updating the hardware.
For example, the broadcast or multicast is used to find a nearby device and nearby service, like NetBIOS used in Windows™, which is an OS of Microsoft Corporation, and UPnP standardized by UPnP Forum. The conventional remote control technique has a problem: if a remote computer does not belong to the same IP subnetwork as the terminal at hand does, broadcast packets cannot be transmitted and received between the remote computer and a computer in the neighborhood of the terminal at hand, and the remote computer cannot find a device and service in the neighborhood of the terminal at hand. Even in the case of a protocol using the multicast for finding a device or service, the TTL of a multicast packet is set to a small value or the network does not support transfer of a multicast packet in many cases. This results in a problem that the remote computer cannot find a device or service in the neighborhood of the terminal at hand. Even if there is an UPnP AV server that retains video contents in the neighborhood of the terminal at hand, therefore, the remote computer cannot find the UPnP AV server, resulting in a problem that the video contents in the UPnP AV server cannot be displayed on the terminal at hand.
A similar problem exists in the above-described Japanese Patent Application Laid-Open Publication No. 2003-288536 as well. The remote map data server cannot find a device in the neighborhood of the car navigation terminal. Therefore, information utilizing service provided by the device cannot be displayed on the car navigation terminal at hand.
It is possible in the conventional technique to set, for example, an L2TP tunnel between the terminal at hand and the remote computer and conduct simulation so as to cause the remote computer to belong to the same subnetwork as the terminal at hand does in order to find service in the neighborhood of the terminal at hand. In this case, however, data communication conducted when the remote computer uses service in the neighborhood of the terminal at hand also passes through an L2TP tunnel. This results in a problem that the terminal at hand must conduct tunnel transfer processing of data communication with the remote computer. Especially, as the network becomes fast and the data quantity in data communication becomes large, the processing load becomes heavy and the CPU power with which the terminal at hand should be equipped also increases, resulting in a problem.
If the quantity of data communication conducted by the remote computer is increased by sophistication of application, the user must upgrade the processing capability of the terminal at hand. This results in a problem of complication.